}
static GtkCssValue *
-gtk_css_value_calc_try_add (const GtkCssValue *value1,
- const GtkCssValue *value2)
+gtk_css_value_calc_try_add (GtkCssValue *value1,
+ GtkCssValue *value2)
{
return NULL;
}
}
static GtkCssValue *
-gtk_css_value_dimension_try_add (const GtkCssValue *value1,
- const GtkCssValue *value2)
+gtk_css_value_dimension_try_add (GtkCssValue *value1,
+ GtkCssValue *value2)
{
if (value1->unit != value2->unit)
return NULL;
+ if (value1->value == 0)
+ return _gtk_css_value_ref (value2);
+
+ if (value2->value == 0)
+ return _gtk_css_value_ref (value1);
+
return gtk_css_dimension_value_new (value1->value + value2->value, value1->unit);
}
}
GtkCssValue *
-gtk_css_number_value_try_add (const GtkCssValue *value1,
- const GtkCssValue *value2)
+gtk_css_number_value_try_add (GtkCssValue *value1,
+ GtkCssValue *value2)
{
GtkCssNumberValueClass *number_value_class;
gboolean (* has_percent) (const GtkCssValue *value);
GtkCssValue * (* multiply) (const GtkCssValue *value,
double factor);
- GtkCssValue * (* try_add) (const GtkCssValue *value1,
- const GtkCssValue *value2);
+ GtkCssValue * (* try_add) (GtkCssValue *value1,
+ GtkCssValue *value2);
gint (* get_calc_term_order) (const GtkCssValue *value);
};
double factor);
GtkCssValue * gtk_css_number_value_add (GtkCssValue *value1,
GtkCssValue *value2);
-GtkCssValue * gtk_css_number_value_try_add (const GtkCssValue *value1,
- const GtkCssValue *value2);
+GtkCssValue * gtk_css_number_value_try_add (GtkCssValue *value1,
+ GtkCssValue *value2);
gint gtk_css_number_value_get_calc_term_order (const GtkCssValue *value);
double _gtk_css_number_value_get (const GtkCssValue *number,